class Config:
    ENV = "test"  # dev/test/prod


    @property
    def base_url(self):
        return {
            "dev": "https://dev-api.example.com",
            "test": "http://localhost:8000/",
            "prod": "https://api.example.com"
        }[self.ENV]

    @property
    def default_timeout(self):
        return {
            "dev": 20,
            "test": 10,
            "prod": 5
        }[self.ENV]

    @property
    def global_headers(self):
        return {
            "dev": {
                "Authorization": "Bearer token-dev",
                "Content-Type": "application/json"
            },
            "test": {
                "Authorization": "Bearer token-test",
                "Content-Type": "application/json"
            },
            "prod": {
                "Authorization": "Bearer token-prod",
                "Content-Type": "application/json"
            }
        }[self.ENV]


class SessionConfig:
    pass